-
Notifications
You must be signed in to change notification settings - Fork 0
Migrate Reporter to Status Dashboard API V2 for Incident Creation #26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
- Define 6 prioritized user stories for test coverage - Specify 25 functional requirements across 5 categories - Target 95% coverage for core business functions - Include 27 acceptance scenarios with Given-When-Then format - Define 15 measurable success criteria - Complete quality validation with all checklist items passing This spec enables safe refactoring and provides regression protection for the metrics-processor codebase.
- Phase 6: Configuration Processing Tests (T037-T047) * Template variable substitution and environment expansion * Threshold overrides and dash-to-underscore conversion * Service set population and expression copying * Config validation and multi-source loading * All 11 tests passing with 100% config.rs coverage - Phase 7: API Endpoint Tests (T048-T060) * API v1 root, info, and health endpoints * Graphite compatibility endpoints (functions, tags, render) * Integration tests with mocked Graphite backend * Error response format validation * 10/13 tests complete with integration coverage - Phase 9: Coverage & Documentation (T071-T080) * Overall library coverage: 71.56% (307/429 lines) * Core business functions: 89.9% coverage * Test execution time: < 1 second (target: < 2 minutes) * Comprehensive testing guide in docs/TESTING.md * Test count: 52 tests (target: ≥50 tests) Test Results: - Library tests: 44 passing - Integration tests: 8 passing - Total: 52 tests passing - Execution time: < 0.2 seconds Coverage by Module: - src/config.rs: 100.0% ✅ - src/common.rs: 89.3% ✅ - src/types.rs: 82.6% ✅ - src/api/v1.rs: 74.4% - src/graphite.rs: 56.8% Phase 8 (Graphite Integration Tests T061-T070) mostly covered by existing integration tests and unit tests in graphite.rs module.
# Conflicts: # .github/workflows/ci.yml # Makefile # src/api/v1.rs # src/config.rs # src/graphite.rs # src/types.rs # tests/fixtures/configs.rs # tests/fixtures/graphite_responses.rs # tests/fixtures/helpers.rs # tests/integration_api.rs # tests/integration_health.rs
bakhterets
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
tested
|
leave one source with a E2E testing diagram: (doc or comment) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
duplication of information from the documentation in the comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The testing documentation should be updated to include the specific E2E flow described in the test files. Consider adding a section for the Reporter Integration.
leave one source with a diagram ### E2E Test Architecture
|
Build succeeded. ✔️ rust-build SUCCESS in 2m 14s |
This PR migrates the reporter from Status Dashboard API V1 to V2 for sending incidents. The migration introduces component ID resolution via a cached lookup system and updates the incident data structure to match the V2 API contract.
Changes
Core Migration
Component Cache System
Configuration Updates
Logging Enhancements
Behavioral Notes
Testing